Method and system to enable mobile users to receive personalized notifications

ABSTRACT

A customizable notification system permits a user of a mobile device to configure notification preferences for different accounts and services that the user subscribes to, such as notification from email, instant messaging, and social networks. A notification viewer on the mobile device provides an aggregated view of notifications coming from different sources, customized according to the user&#39;s preferences, such as filter preferences and delivery preferences.

FIELD OF THE INVENTION

The present invention is generally related to providing notifications in communication-oriented services. More particularly, the present invention is directed towards a system and method that enables users of a mobile device to customize notifications that they would like to receive from configured services, such as email, instant messaging, and social messaging.

BACKGROUND OF THE INVENTION

Support for real-time “push” notification is becoming an important feature on mobile device platforms. Consumers are using more and more communications-oriented services (such as email, Instant Messaging (IM), Short Messaging Service (SMS), Social Networking Service (SNS)) and are increasingly expecting real-time updates from these services. New platforms, such as the iPhone®, Android®, and HP Palm WebOS®, offer extensive support for real-time notifications.

There are two main approaches adopted by common platforms to support such notifications: 1) applications or widgets on the device directly poll services for notifications (e.g., new updates); and 2) remote servers, usually hosted by the platform or service provider, provide a notification “detection and forwarding” service (e.g., Apple's Push Notification Service (APNS)).

Typically, the platform or service providers decide the type and format of notifications that are made available for the mobile users to subscribe to. As a result, mobile users do not have fine grained control over the type of notifications they can receive. For example, the user is unable to specify that he is interested only in notifications from a particular friend, or about a particular post, unless this is directly supported by the service provider.

SUMMARY OF THE INVENTION

A customizable notification system permits a user of a mobile device to configure notification preferences for different accounts and services of the user that generate notifications. A notification viewer in the mobile device presents a consistent aggregated view of notifications according to the user's preferences, such as filter preferences and delivery preferences.

In one embodiment of a system, a notification monitor resides on a different device than the mobile device, such as in a home PC or home server. The notification monitor receives notification from different sources, applies the user's preferences, and then provides the aggregated notifications to the mobile device. In one implementation, the mobile device includes a notification viewer, configuration tool, and data cache to store user preferences.

In one embodiment of a method, a user configures accounts and services to be monitored, and also configures notification preferences for the aggregated accounts and services. A binding process binds the mobile device to the device performing notification monitoring. Notification monitoring is then performed and notifications are delivered to the mobile device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a customizable notification system in accordance with an embodiment of the present invention;

FIG. 2 illustrates a customizable notification system in accordance with an embodiment of the present invention;

FIG. 3 illustrates a customizable notification system in accordance with an embodiment of the present invention; and

FIG. 4 is a flowchart illustrating a method in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION

FIG. 1 illustrates a customizable notification system 100-A in accordance with one embodiment of the present invention. The customizable notification system 100-A monitors the different accounts/services 102 of the user on their behalf, and forwards notifications to the user's mobile device 110, customized according to filters set by the user and delivered according to preferences set by the user. Thus, notifications from different accounts and services 102 are aggregated, filtered/prioritized according to user-preferences, and delivered based on user-defined delivery options. Examples of the types of notifications that can be customized include notifications (also known as “updates”) such as email updates (“push” and conventional), Instant Messaging (IM) updates, Really Simple Syndication (RSS) updates and social networking updates (such as Facebook® and Twitter®). The customizable notification system facilitates the user with fine-grained control over the type and frequency of notifications they wish to collectively receive from various service providers and accounts on their mobile device. In one embodiment, the customizable notification system, thus, acts to:

-   -   1. monitor a set of accounts/services for notifications on         behalf of the user;     -   2. enable users to set notification filters and preferences, to         set filtering and prioritization rules, such as what type of         notifications are important, what sources of notifications have         preference (e.g., whether notifications from particular         individuals or organizations have a greater priority), perform         filtering or prioritization based on keywords or other rules,         filter out redundant messages (e.g., filter redundant Twitter®         feeds from different sources that have essentially identical         content), and set preferences for how and when notifications         should be delivered to the user's device; and     -   3. deliver customized, prioritized notifications to the user's         mobile device according to the user's chosen filters,         prioritization, and preferences.

The location of components to implement the functionality of the customization notification system 100-A depends on implementation details. In one embodiment, the customization notification system 100-A comprises a notification viewer 115 that runs on the mobile device 110; a configuration tool 130 and a cache 120 also preferably run on the mobile device 110 to permit the user to configure preferences from the mobile device. The mobile device 110 also includes hardware, such as a local processor and memory 140. As an illustrative example, the mobile device 110 may be a smart phone having a wireless communication capability.

The customizable notification system includes a notification monitor 155. It is generally desirable to reduce the consumption of resources in a mobile device. Consequently, in one embodiment, the notification monitor 155 resides on a different device 150 than the mobile device 110, which may be a home user device such as the user's PC or a home server. More generally, the notification monitor 155 could run on any device that has enough processing power and storage to run one or more agents, store account information and notifications, support a configuration tool, and communicate with the mobile device 110.

In embodiments in which the notification monitor runs on a home PC or a home server, the home PC/server has a database cache 160 to store accounts/services, filters and preferences configured by the user. This is kept in sync with the cache 120 on the mobile device. With the configuration tool 170 on a home PC, users configure accounts/services to be monitored and set their notification filters and preferences through this tool. The account configuration and preferences are stored to and retrieved from the cache 160, thereby enabling the user to change configurations on a home PC/server or the mobile device. The notification monitor 155 acts to monitor the accounts/services configured by the user, for notifications/unread updates.

The components on the mobile device 110 preferably include a local database cache 120 to store accounts/services, filters and preferences configured by the user. This is kept in sync with the cache 160 on the home PC. A local configuration tool 130 on the mobile device allows users (or “the user”) to configure accounts/services to be monitored, set their notification filters and preferences through this tool. The account configuration and preferences are stored to and retrieved from the synced caches 130 and 160, thereby enabling the user to change configurations on either the home PC or the mobile device. The notification viewer 115 receives or pulls notifications from the notification monitor 190 and alerts the user about unread notifications according to the user's preferences.

The customizable notification system of FIG. 1 may be implemented in a variety of different ways, such as individual applications, background services, web apps/widgets, etc. In a preferred embodiment, they are implemented as components of a distributed notification system, as illustrated in FIG. 1.

Referring to FIG. 2, in one embodiment of a customizable notification, system 100-B functions performed at the home PC/server may also be performed as a general service 151. For example, the general service may be a service supported by a third party, or otherwise not requiring a user's personal computing device, such as a service supported by a web-based service, including a web server or in a cloud-based service.

Referring to FIG. 3, in principle, all of the functions of a customizable notification system 100-C may be performed on the mobile device itself, including monitoring notifications. However, this requires additional computing cycles and increases battery drain compared with having the monitor function being performed on a home PC, remote server, or other service that is external to the mobile device. However, there are some individuals who utilize a mobile device, but who do not have a personal computer or server. Consequently, the embodiment of FIG. 3, while having the previously described disadvantages, is a potential option for some users, such as those users whom do not have a home PC or server.

Referring to FIG. 4, the following steps are involved in the system operation at the mobile device and the home PC/server, according to a preferred embodiment.

In step 405, the user utilizes the configuration tool to configure accounts and services to be monitored. For example, the user may have one or more different email accounts, one or more social networking services, such as Facebook®, Twitter®, RSS, and email, although it would be understood that other services and/or new services could be supported. The user configures accounts/services to be monitored for notification through the configuration tool, either on the home PC or the mobile device. Irrespective of which device the user uses to configure notification preferences, the other device is kept in sync. An alternate option is to retrieve user account information from corresponding applications on the mobile device, such as a Facebook® application on the mobile device.

In step 410, the user then configures notification preferences through the configuration tool, either on the home PC or the mobile device. Irrespective of which device the user uses to configure notification preferences, the other device is kept in sync. An alternate option is to retrieve user account information from corresponding applications on the mobile device (such as a Facebook® application on the mobile device). Examples of notification preferences include the following:

-   -   1) notification filters (such as filters including rules based         on keywords, type, source of notification and frequency of         notifications that the user is interested to receive on his         mobile device); and     -   2) delivery preferences (regarding how notifications should be         delivered to the mobile device, for example, if they should be         pushed to the device, or pulled by the device, and what kind of         action should be taken when delivered. For example, if the phone         should vibrate, beep, play a ringtone, or just display the         unread notification).

In step 415, a binding process is performed to bind the mobile device to the PC. Using the configuration tool on the home PC, the user enters information about his mobile device and binds (establishes a connection between) the monitor on the PC and viewer on the mobile device. Several other approaches can be employed to bind the PC with the mobile device. One approach is to use a Quick Response (QR) code based data exchange protocol. Another alternative is Near Field Communication (NFC) technology.

In step 420, the notification monitor starts monitoring the different accounts, as configured by the user, for notifications/unread updates. When notifications are received or detected, the notification monitor aggregates and prioritizes notifications, according to the user's filters.

In step 425, notifications are delivered to the user's mobile device, according to the user's preferences. In one preferred embodiment, there are two options that the user can choose from:

-   -   1) Push: in a push option, the notification monitor pushes         notifications to the notification viewer, as and when         notifications become available; and     -   2) Poll: in a poll option, the notification viewer on the mobile         device polls the notification monitor at regular intervals, as         specified by the user, for new notifications.

In a preferred embodiment, there are several options that the user can choose from, such as: vibrate, beep, display, beep and display, vibrate and display, or none.

As an illustrative example, suppose that the user has several email accounts and subscribes to social networking services such as Twitter® and Facebook®. Conventionally, there is no practical way in the prior art for a user to set preferences to filter all of the aggregate notifications coming to their mobile device from the different accounts and services. This can result in an information overload of different notifications from different services and accounts which are hard for the user to manage. In contrast, the present invention permits a user to configure preferences globally for all of their accounts and services so that they receive notifications that they are interested in, and notifications that are less relevant are filtered out or given a lower priority based on the user's preferences.

The customizable notification system 100-A provides various benefits. In implementations in which the notification monitor is on an external device, the system monitors notifications on the user's behalf without consuming resources on the user's mobile device. The logic for detecting service state and generating notification events is moved off the device to the host PC. What remains is an application on the mobile device with a notification viewer application, with a small foot print that communicates with the home PC. Additionally, the communications overhead and power consumption on the mobile device is low. The notification viewer application only needs to communicate with a single endpoint, the home PC or home server. This reduces communications overhead when compared to solutions where the mobile device polls all services from which notifications are generated. Additionally, from the standpoint of a mobile network operator, the system harnesses resources of the mobile user (e.g., a home PC) to provide notification services, and thereby doesn't contribute to any additional operational costs for the mobile network operator.

The system 100-A provides an integrated and customized view of notifications to the user, based on their preferences. Users can configure rules for the types of notifications to be monitored and how to notify them on their mobile devices. Users can set filters to customize the types of notifications the user receives; customize the frequency of notifications the user receives; customize how they wish to be alerted when new notifications are received; and customize how notifications are delivered to their mobile device.

By providing an aggregated view of notifications (combining different types of notifications into a single, consistent view), and further customizing the priority (for example, order in the list) and actions taken for each notification type, the system enables a personalized and efficient way for users to browse through notifications.

Simple configuration: the system 100-A uses “Quick Response” images to configure the mobile/host connection. The user will not have to enter security keys or account information. However, QR image decoding is sensitive to camera handling and lighting.

The system 100-A supports identifying/forwarding notifications for a variety of data/services, and is further extensible (it is not restricted to any pre-defined set of data/services and is not dependent on the capability of the home PC).

While the invention has been described in conjunction with specific embodiments, it will be understood that it is not intended to limit the invention to the described embodiments. On the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention, as defined by the appended claims. The present invention may be practiced without some or all of these specific details. In addition, well known features may not have been described in detail to avoid unnecessarily obscuring the invention.

In accordance with the present invention, the components, process steps, and/or data structures may be implemented using various types of operating systems, programming languages, computing platforms, computer programs, and/or general purpose machines. In addition, those of ordinary skill in the art will recognize that devices of a less general purpose nature, such as hardwired devices, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), or the like, may also be used without departing from the scope and spirit of the inventive concepts disclosed herein. The present invention may also be tangibly embodied as a set of computer instructions stored on a computer readable medium, such as a memory device. 

1. A customizable notification system for a mobile device, comprising: a notification monitor configured to: aggregate notifications from a plurality of different sources into a single view of notifications based on user preferences; and prioritize each notification of said single view of notifications based on said user preferences; and a notification viewer configured to display said single view of notifications on the mobile device; wherein at least a portion of said user preferences are synchronized between the notification monitor and the mobile device.
 2. The system of claim 1, wherein: said user preferences include filter preferences and delivery preferences; and the notification monitor is further configured to deliver filtered notifications to the notification viewer.
 3. The system of claim 1, wherein: the notification monitor is disposed on the mobile device.
 4. The system of claim 1, wherein: the notification monitor is disposed on a computing device external to the mobile device; the mobile device is binded to the computing device such that the computing device remotely performs notification monitoring for the mobile device; the computing device comprises a data cache for maintaining said user preferences; the mobile device comprises a local data cache for maintaining said user preferences; and the computing device is a home computer or home server.
 5. The system of claim 1, further comprising: a configuration tool for user configuration of said user preferences, wherein said user preferences comprise notification filters and delivery preferences, and wherein the configuration tool is disposed on the mobile device.
 6. The system of claim 1, further comprising at least one data cache for storing said user preferences, wherein each data cache is synchronized.
 7. The system of claim 1, wherein: said notifications from said plurality of different sources comprise different types of notifications; and said different types of notifications include email notifications, instant messaging notifications, and social network notifications.
 8. The system of claim 4, wherein the mobile device is binded to the computing device by one of establishing a connection between the mobile device and the computing device, a Quick Response code based data exchange protocol, and Near Field Communication.
 9. The system of claim 4, further comprising: a configuration tool for user configuration of said user preferences, wherein said user preferences comprise notification filters and delivery preferences, and wherein the configuration tool is disposed on at least one of the mobile device and the computing device.
 10. A method of providing customizable notifications to a mobile device, comprising: aggregating notifications from a plurality of different sources into a single view of notifications based on user preferences; prioritizing each notification of said single view of notifications based on said user preferences; and displaying said single view of notifications on the mobile device; wherein at least a portion of said user preferences are synchronized between the mobile device and a computing device external to the mobile device.
 11. The method of claim 10, further comprising: monitoring notifications from said plurality of different sources.
 12. The method of claim 11, wherein said monitoring includes applying user-defined filter criteria to notifications.
 13. The method of claim 11, wherein the computing device comprises a personal computer that performs said monitoring, said aggregating and said prioritizing.
 14. The method of claim 11, wherein the computing device comprises a server that performs said monitoring, said aggregating and said prioritizing.
 15. A system comprising: a mobile device comprising a notification viewer configured for displaying a single view of notifications; an external device comprising a notification monitor configured for: aggregating notifications from a plurality of different sources into said single view of notifications based on said user preferences; and prioritizing each notification of said single view of notifications based on said user preferences; and at least one configuration tool for user configuration of said user preferences; wherein at least a portion of said user preferences are synchronized between the external device and the mobile device.
 16. A computer program product comprising computer readable code stored on a non-transitory computer readable medium, comprising: computer code to implement a notification monitor configured for: aggregating notifications from a plurality of different sources into a single view of notifications based on user preferences; and prioritizing each notification of said single view of notifications based on said user preferences; and computer code to implement a notification viewer configured for displaying said single view of notifications on a mobile device; wherein at least a portion of said user preferences are synchronized between the notification monitor and the mobile device.
 17. The computer program product of claim 16, further comprising: computer code for a configuration tool for user configuration of said user preferences, wherein user preferences comprise notification filters and delivery preferences; wherein the notification viewer is disposed on a mobile device; wherein the notification monitor is disposed on a computing device external to the mobile device; wherein the mobile device is binded to the computing device such that the computing device remotely performs notification monitoring for the mobile device; wherein the computing device comprises a data cache for maintaining said user preferences; and wherein the mobile device comprises a local data cache for maintaining said user preferences.
 18. A system comprising: a notification monitor configured to: aggregate notifications from a plurality of different sources into a single view of notifications based on user preferences; and prioritize each notification of said single view of notifications based on said user preferences; and a mobile device comprising: a processor; a memory; and a notification viewer configured to display said single view of notifications; wherein at least a portion of said user preferences are synchronized between the notification monitor and the mobile device.
 19. The system of claim 18, wherein: the notification monitor is further configured to provide filtered notifications to the notification viewer based on said user preferences.
 20. The system of claim 19, further comprising: a configuration tool for user configuration of said user preferences. 